<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml">
		<head>
			<!-- template designed by Marco Von Ballmoos -->
			<title>Docs For Class uhu_LLSD_struct</title>
			<link rel="stylesheet" href="../media/stylesheet.css" />
			<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
		</head>
		<body>
			<div class="page-body">			
<h2 class="class-name">Class uhu_LLSD_struct</h2>

<a name="sec-description"></a>
<div class="info-box">
	<div class="info-box-title">Description</div>
	<div class="nav-bar">
					<span class="disabled">Description</span> |
													<a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
						|											<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
						
					</div>
	<div class="info-box-body">
                <p class="implements">
            Implements interfaces:
            <ul>
                <li>Iterator (internal interface)</li>            </ul>
        </p>
        		<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Does the grunt work of converting an LLSD document into a native PHP data type</p>
	<ul class="tags">
				<li><span class="field">uses:</span> Iterator</li>
			</ul>
		<p class="notes">
			Located in <a class="field" href="_apps---secondlife---LLSD---struct.php.html">/apps/secondlife/LLSD/struct.php</a> (line <span class="field">12</span>)
		</p>
		
				
		<pre><a href="../LLSD/uhu_LLSD_common.html">uhu_LLSD_common</a>
   |
   --uhu_LLSD_struct</pre>
	
			</div>
</div>



	<a name="sec-var-summary"></a>
	<div class="info-box">
		<div class="info-box-title">Variable Summary</span></div>
		<div class="nav-bar">
			<a href="#sec-description">Description</a> |
						<span class="disabled">Vars</span> (<a href="#sec-vars">details</a>)
							| 
									<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
							
								</div>
		<div class="info-box-body">
			<div class="var-summary">
																																<div class="var-title">
					<span class="var-type">string</span>
					<a href="#$LLSD" title="details" class="var-name">$LLSD</a>
				</div>
																<div class="var-title">
					<span class="var-type">mixed</span>
					<a href="#$struct" title="details" class="var-name">$struct</a>
				</div>
											</div>
		</div>
	</div>

	<a name="sec-method-summary"></a>
	<div class="info-box">
		<div class="info-box-title">Method Summary</span></div>
		<div class="nav-bar">
			<a href="#sec-description">Description</a> |
																		<a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
				 
				|
						<span class="disabled">Methods</span> (<a href="#sec-methods">details</a>)
		</div>
		<div class="info-box-body">			
			<div class="method-summary">
																																																																				<div class="method-definition">
					static 						<span class="method-result">void</span>
										<a href="#struct_build_array" title="details" class="method-name">struct_build_array</a>
											(<span class="var-type">mixed</span>&nbsp;<span class="var-name">&$node_struct</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$array_element</span>)
									</div>
																<div class="method-definition">
					static 						<span class="method-result">void</span>
										<a href="#struct_build_binary" title="details" class="method-name">struct_build_binary</a>
											(<span class="var-type">mixed</span>&nbsp;<span class="var-name">&$element</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$binary</span>)
									</div>
																<div class="method-definition">
					static 						<span class="method-result">void</span>
										<a href="#struct_build_bool" title="details" class="method-name">struct_build_bool</a>
											(<span class="var-type">mixed</span>&nbsp;<span class="var-name">&$element</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$bool</span>)
									</div>
																<div class="method-definition">
					static 						<span class="method-result">void</span>
										<a href="#struct_build_date" title="details" class="method-name">struct_build_date</a>
											(<span class="var-type">mixed</span>&nbsp;<span class="var-name">&$element</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$date</span>)
									</div>
																<div class="method-definition">
					static 						<span class="method-result">void</span>
										<a href="#struct_build_integer" title="details" class="method-name">struct_build_integer</a>
											(<span class="var-type">mixed</span>&nbsp;<span class="var-name">&$element</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$integer</span>)
									</div>
																<div class="method-definition">
					static 						<span class="method-result">void</span>
										<a href="#struct_build_map" title="details" class="method-name">struct_build_map</a>
											(<span class="var-type">mixed</span>&nbsp;<span class="var-name">&$node_struct</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$map_element</span>)
									</div>
																<div class="method-definition">
					static 						<span class="method-result">void</span>
										<a href="#struct_build_real" title="details" class="method-name">struct_build_real</a>
											(<span class="var-type">mixed</span>&nbsp;<span class="var-name">&$element</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$real</span>)
									</div>
																<div class="method-definition">
					static 						<span class="method-result">void</span>
										<a href="#struct_build_string" title="details" class="method-name">struct_build_string</a>
											(<span class="var-type">mixed</span>&nbsp;<span class="var-name">&$element</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$string</span>)
									</div>
																<div class="method-definition">
					static 						<span class="method-result">void</span>
										<a href="#struct_build_undef" title="details" class="method-name">struct_build_undef</a>
											(<span class="var-type">mixed</span>&nbsp;<span class="var-name">&$element</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$undef</span>)
									</div>
																<div class="method-definition">
					static 						<span class="method-result">void</span>
										<a href="#struct_build_uri" title="details" class="method-name">struct_build_uri</a>
											(<span class="var-type">mixed</span>&nbsp;<span class="var-name">&$element</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$uri</span>)
									</div>
																<div class="method-definition">
					static 						<span class="method-result">void</span>
										<a href="#struct_build_uuid" title="details" class="method-name">struct_build_uuid</a>
											(<span class="var-type">mixed</span>&nbsp;<span class="var-name">&$element</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$uuid</span>)
									</div>
																<div class="method-definition">
					static 						<span class="method-result">void</span>
										<a href="#struct_handle_atomic" title="details" class="method-name">struct_handle_atomic</a>
											(<span class="var-type">mixed</span>&nbsp;<span class="var-name">&$element</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$child</span>)
									</div>
																<div class="method-definition">
					static 						<span class="method-result">void</span>
										<a href="#struct_validate_map_contents" title="details" class="method-name">struct_validate_map_contents</a>
											(<span class="var-type"></span>&nbsp;<span class="var-name">$map_element</span>)
									</div>
																
												<div class="method-definition">
											<span class="method-result">uhu_LLSD_struct</span>
										<a href="#__construct" title="details" class="method-name">__construct</a>
											(<span class="var-type"></span>&nbsp;<span class="var-name">$element</span>)
									</div>
																<div class="method-definition">
											<span class="method-result">mixed</span>
										<a href="#current" title="details" class="method-name">current</a>
										()
									</div>
																<div class="method-definition">
											<span class="method-result">mixed</span>
										<a href="#key" title="details" class="method-name">key</a>
										()
									</div>
																<div class="method-definition">
											<span class="method-result">string</span>
										<a href="#LLSD" title="details" class="method-name">LLSD</a>
											([<span class="var-type"></span>&nbsp;<span class="var-name">$indent</span> = <span class="var-default">null</span>])
									</div>
																<div class="method-definition">
											<span class="method-result">mixed</span>
										<a href="#next" title="details" class="method-name">next</a>
										()
									</div>
																<div class="method-definition">
											<span class="method-result">bool</span>
										<a href="#rewind" title="details" class="method-name">rewind</a>
										()
									</div>
																<div class="method-definition">
											<span class="method-result">mixed</span>
										<a href="#struct" title="details" class="method-name">struct</a>
										()
									</div>
																																																																																																																								<div class="method-definition">
											<span class="method-result">bool</span>
										<a href="#valid" title="details" class="method-name">valid</a>
										()
									</div>
								</div>
		</div>
	</div>		

	<a name="sec-vars"></a>
	<div class="info-box">
		<div class="info-box-title">Variables</div>
		<div class="nav-bar">
			<a href="#sec-description">Description</a> |
										<a href="#sec-var-summary">Vars</a> (<span class="disabled">details</span>)
						
			
										| 
									<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
							
					</div>
		<div class="info-box-body">
			<a name="var$LLSD" id="$LLSD"><!-- --></A>
<div class="evenrow">

	<div class="var-header">
		<span class="var-title">
			<span class="var-type">string</span>
			<span class="var-name">$LLSD</span>
						(line <span class="line-number">21</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
	<ul class="tags">
				<li><span class="field">var:</span> Holds the transcoded LLSD document.</li>
				<li><span class="field">access:</span> protected</li>
				<li><span class="field">usedby:</span> <a href="../LLSD/uhu_LLSD_struct.html#methodLLSD">uhu_LLSD_struct::LLSD()</a></li>
			</ul>
	
	
		
		

</div>
<a name="var$struct" id="$struct"><!-- --></A>
<div class="oddrow">

	<div class="var-header">
		<span class="var-title">
			<span class="var-type">mixed</span>
			<span class="var-name">$struct</span>
						(line <span class="line-number">17</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
	<ul class="tags">
				<li><span class="field">var:</span> the native PHP data type for the LLSD node</li>
				<li><span class="field">access:</span> protected</li>
				<li><span class="field">usedby:</span> <a href="../LLSD/uhu_LLSD_struct.html#methodstruct">uhu_LLSD_struct::struct()</a></li>
			</ul>
	
	
		
		

</div>
						
		</div>
	</div>
	
	<a name="sec-methods"></a>
	<div class="info-box">
		<div class="info-box-title">Methods</div>
		<div class="nav-bar">
			<a href="#sec-description">Description</a> |
															<a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
																	<a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>)
						
		</div>
		<div class="info-box-body">
			<A NAME='method_detail'></A>
<a name="methodstruct_build_array" id="struct_build_array"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">static method struct_build_array</span> (line <span class="line-number">129</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Converts an LLSD array node into a native PHP array</p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
				<li><span class="field">usedby:</span> <a href="../LLSD/uhu_LLSD_struct.html#methodstruct_build_array">uhu_LLSD_struct::struct_build_array()</a></li>
				<li><span class="field">usedby:</span> <a href="../LLSD/uhu_LLSD_struct.html#methodstruct_build_map">uhu_LLSD_struct::struct_build_map()</a></li>
				<li><span class="field">usedby:</span> <a href="../LLSD/uhu_LLSD_struct.html#method__construct">uhu_LLSD_struct::__construct()</a></li>
				<li><span class="field">uses:</span> uhu_LLSD_struct::struct_build_atomic()</li>
				<li><span class="field">uses:</span> <a href="../LLSD/uhu_LLSD_struct.html#methodstruct_build_array">uhu_LLSD_struct::struct_build_array()</a></li>
				<li><span class="field">uses:</span> <a href="../LLSD/uhu_LLSD_struct.html#methodstruct_build_map">uhu_LLSD_struct::struct_build_map()</a></li>
			</ul>
	
	<div class="method-signature">
	    static
		<span class="method-result">void</span>
		<span class="method-name">
			struct_build_array
		</span>
					(<span class="var-type">mixed</span>&nbsp;<span class="var-name">&$node_struct</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$array_element</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">mixed</span>
				<span class="var-name">&$node_struct</span><span class="var-description">: Either uhu_LLSD_struct::$struct or a sub-element of uhu_LLSD_struct::$struct</span>			</li>
					<li>
				<span class="var-type">SimpleXMLElement</span>
				<span class="var-name">$array_element</span><span class="var-description">: The LLSD node to convert to a PHP array</span>			</li>
				</ul>
		
			
	</div>
<a name="methodstruct_build_binary" id="struct_build_binary"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">static method struct_build_binary</span> (line <span class="line-number">393</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Intended to convert a LLSD binary element into an instance of uhu_LLSD_binary</p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
				<li><span class="field">usedby:</span> <a href="../LLSD/uhu_LLSD_struct.html#methodstruct_handle_atomic">uhu_LLSD_struct::struct_handle_atomic()</a></li>
				<li><span class="field">uses:</span> uhu_LLSD_binary()</li>
			</ul>
	
	<div class="method-signature">
	    static
		<span class="method-result">void</span>
		<span class="method-name">
			struct_build_binary
		</span>
					(<span class="var-type">mixed</span>&nbsp;<span class="var-name">&$element</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$binary</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">mixed</span>
				<span class="var-name">&$element</span><span class="var-description">: Either uhu_LLSD_struct::$struct or a sub-element of uhu_LLSD_struct::$struct</span>			</li>
					<li>
				<span class="var-type">SimpleXMLElement</span>
				<span class="var-name">$binary</span><span class="var-description">: The LLSD node to convert to an instance of uhu_LLSD_binary</span>			</li>
				</ul>
		
			
	</div>
<a name="methodstruct_build_bool" id="struct_build_bool"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">static method struct_build_bool</span> (line <span class="line-number">301</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Intended to convert a LLSD bool element into a native PHP boolean</p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
				<li><span class="field">usedby:</span> <a href="../LLSD/uhu_LLSD_struct.html#methodstruct_handle_atomic">uhu_LLSD_struct::struct_handle_atomic()</a></li>
			</ul>
	
	<div class="method-signature">
	    static
		<span class="method-result">void</span>
		<span class="method-name">
			struct_build_bool
		</span>
					(<span class="var-type">mixed</span>&nbsp;<span class="var-name">&$element</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$bool</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">mixed</span>
				<span class="var-name">&$element</span><span class="var-description">: Either uhu_LLSD_struct::$struct or a sub-element of uhu_LLSD_struct::$struct</span>			</li>
					<li>
				<span class="var-type">SimpleXMLElement</span>
				<span class="var-name">$bool</span><span class="var-description">: The LLSD node to convert to a antive PHP data type</span>			</li>
				</ul>
		
			
	</div>
<a name="methodstruct_build_date" id="struct_build_date"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">static method struct_build_date</span> (line <span class="line-number">371</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Intended to convert a LLSD date element into an instance of uhu_LLSD_date</p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
				<li><span class="field">usedby:</span> <a href="../LLSD/uhu_LLSD_struct.html#methodstruct_handle_atomic">uhu_LLSD_struct::struct_handle_atomic()</a></li>
				<li><span class="field">uses:</span> uhu_LLSD_date()</li>
			</ul>
	
	<div class="method-signature">
	    static
		<span class="method-result">void</span>
		<span class="method-name">
			struct_build_date
		</span>
					(<span class="var-type">mixed</span>&nbsp;<span class="var-name">&$element</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$date</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">mixed</span>
				<span class="var-name">&$element</span><span class="var-description">: Either uhu_LLSD_struct::$struct or a sub-element of uhu_LLSD_struct::$struct</span>			</li>
					<li>
				<span class="var-type">SimpleXMLElement</span>
				<span class="var-name">$date</span><span class="var-description">: The LLSD node to convert to an instance of uhu_LLSD_date</span>			</li>
				</ul>
		
			
	</div>
<a name="methodstruct_build_integer" id="struct_build_integer"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">static method struct_build_integer</span> (line <span class="line-number">328</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Intended to convert a LLSD integer element into a native PHP integer, or an instance of uhu_LLSD_integer_NaN</p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
				<li><span class="field">usedby:</span> <a href="../LLSD/uhu_LLSD_struct.html#methodstruct_handle_atomic">uhu_LLSD_struct::struct_handle_atomic()</a></li>
				<li><span class="field">uses:</span> <a href="../LLSD_NaN/uhu_LLSD_integer_NaN.html#methodsingleton">uhu_LLSD_integer_NaN::singleton()</a></li>
			</ul>
	
	<div class="method-signature">
	    static
		<span class="method-result">void</span>
		<span class="method-name">
			struct_build_integer
		</span>
					(<span class="var-type">mixed</span>&nbsp;<span class="var-name">&$element</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$integer</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">mixed</span>
				<span class="var-name">&$element</span><span class="var-description">: Either uhu_LLSD_struct::$struct or a sub-element of uhu_LLSD_struct::$struct</span>			</li>
					<li>
				<span class="var-type">SimpleXMLElement</span>
				<span class="var-name">$integer</span><span class="var-description">: The LLSD node to convert to a antive PHP data type</span>			</li>
				</ul>
		
			
	</div>
<a name="methodstruct_build_map" id="struct_build_map"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">static method struct_build_map</span> (line <span class="line-number">166</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Converts an LLSD map node into a native PHP array</p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
				<li><span class="field">usedby:</span> <a href="../LLSD/uhu_LLSD_struct.html#methodstruct_build_map">uhu_LLSD_struct::struct_build_map()</a></li>
				<li><span class="field">usedby:</span> <a href="../LLSD/uhu_LLSD_struct.html#methodstruct_build_array">uhu_LLSD_struct::struct_build_array()</a></li>
				<li><span class="field">uses:</span> <a href="../LLSD/uhu_LLSD_struct.html#methodstruct_validate_map_contents">uhu_LLSD_struct::struct_validate_map_contents()</a></li>
				<li><span class="field">uses:</span> uhu_LLSD_struct::struct_build_atomic()</li>
				<li><span class="field">uses:</span> <a href="../LLSD/uhu_LLSD_struct.html#methodstruct_build_map">uhu_LLSD_struct::struct_build_map()</a></li>
				<li><span class="field">uses:</span> <a href="../LLSD/uhu_LLSD_struct.html#methodstruct_build_array">uhu_LLSD_struct::struct_build_array()</a></li>
			</ul>
	
	<div class="method-signature">
	    static
		<span class="method-result">void</span>
		<span class="method-name">
			struct_build_map
		</span>
					(<span class="var-type">mixed</span>&nbsp;<span class="var-name">&$node_struct</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$map_element</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">mixed</span>
				<span class="var-name">&$node_struct</span><span class="var-description">: Either uhu_LLSD_struct::$struct or a sub-element of uhu_LLSD_struct::$struct</span>			</li>
					<li>
				<span class="var-type">SimpleXMLElement</span>
				<span class="var-name">$map_element</span><span class="var-description">: The LLSD node to convert to a PHP array</span>			</li>
				</ul>
		
			
	</div>
<a name="methodstruct_build_real" id="struct_build_real"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">static method struct_build_real</span> (line <span class="line-number">339</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Intended to convert a LLSD real element into a native PHP float, or an instance of uhu_LLSD_real_NaN</p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
				<li><span class="field">usedby:</span> <a href="../LLSD/uhu_LLSD_struct.html#methodstruct_handle_atomic">uhu_LLSD_struct::struct_handle_atomic()</a></li>
				<li><span class="field">uses:</span> <a href="../LLSD_NaN/uhu_LLSD_real_NaN.html#methodsingleton">uhu_LLSD_real_NaN::singleton()</a></li>
			</ul>
	
	<div class="method-signature">
	    static
		<span class="method-result">void</span>
		<span class="method-name">
			struct_build_real
		</span>
					(<span class="var-type">mixed</span>&nbsp;<span class="var-name">&$element</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$real</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">mixed</span>
				<span class="var-name">&$element</span><span class="var-description">: Either uhu_LLSD_struct::$struct or a sub-element of uhu_LLSD_struct::$struct</span>			</li>
					<li>
				<span class="var-type">SimpleXMLElement</span>
				<span class="var-name">$real</span><span class="var-description">: The LLSD node to convert to a antive PHP data type</span>			</li>
				</ul>
		
			
	</div>
<a name="methodstruct_build_string" id="struct_build_string"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">static method struct_build_string</span> (line <span class="line-number">360</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Intended to convert a LLSD bool element into a native PHP string</p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
				<li><span class="field">usedby:</span> <a href="../LLSD/uhu_LLSD_struct.html#methodstruct_handle_atomic">uhu_LLSD_struct::struct_handle_atomic()</a></li>
			</ul>
	
	<div class="method-signature">
	    static
		<span class="method-result">void</span>
		<span class="method-name">
			struct_build_string
		</span>
					(<span class="var-type">mixed</span>&nbsp;<span class="var-name">&$element</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$string</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">mixed</span>
				<span class="var-name">&$element</span><span class="var-description">: Either uhu_LLSD_struct::$struct or a sub-element of uhu_LLSD_struct::$struct</span>			</li>
					<li>
				<span class="var-type">SimpleXMLElement</span>
				<span class="var-name">$string</span><span class="var-description">: The LLSD node to convert to a antive PHP data type</span>			</li>
				</ul>
		
			
	</div>
<a name="methodstruct_build_undef" id="struct_build_undef"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">static method struct_build_undef</span> (line <span class="line-number">291</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Intended to convert a LLSD undef element into null</p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
				<li><span class="field">usedby:</span> <a href="../LLSD/uhu_LLSD_struct.html#methodstruct_handle_atomic">uhu_LLSD_struct::struct_handle_atomic()</a></li>
			</ul>
	
	<div class="method-signature">
	    static
		<span class="method-result">void</span>
		<span class="method-name">
			struct_build_undef
		</span>
					(<span class="var-type">mixed</span>&nbsp;<span class="var-name">&$element</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$undef</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">mixed</span>
				<span class="var-name">&$element</span><span class="var-description">: Either uhu_LLSD_struct::$struct or a sub-element of uhu_LLSD_struct::$struct</span>			</li>
					<li>
				<span class="var-type">SimpleXMLElement</span>
				<span class="var-name">$undef</span><span class="var-description">: The LLSD node to convert to a antive PHP data type</span>			</li>
				</ul>
		
			
	</div>
<a name="methodstruct_build_uri" id="struct_build_uri"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">static method struct_build_uri</span> (line <span class="line-number">382</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Intended to convert a LLSD uri element into an instance of uhu_LLSD_uri</p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
				<li><span class="field">usedby:</span> <a href="../LLSD/uhu_LLSD_struct.html#methodstruct_handle_atomic">uhu_LLSD_struct::struct_handle_atomic()</a></li>
				<li><span class="field">uses:</span> uhu_LLSD_uri()</li>
			</ul>
	
	<div class="method-signature">
	    static
		<span class="method-result">void</span>
		<span class="method-name">
			struct_build_uri
		</span>
					(<span class="var-type">mixed</span>&nbsp;<span class="var-name">&$element</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$uri</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">mixed</span>
				<span class="var-name">&$element</span><span class="var-description">: Either uhu_LLSD_struct::$struct or a sub-element of uhu_LLSD_struct::$struct</span>			</li>
					<li>
				<span class="var-type">SimpleXMLElement</span>
				<span class="var-name">$uri</span><span class="var-description">: The LLSD node to convert to an instance of uhu_LLSD_uri</span>			</li>
				</ul>
		
			
	</div>
<a name="methodstruct_build_uuid" id="struct_build_uuid"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">static method struct_build_uuid</span> (line <span class="line-number">350</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Intended to convert a LLSD uuid element into an instance of uhu_LLSD_UUID</p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
				<li><span class="field">usedby:</span> <a href="../LLSD/uhu_LLSD_struct.html#methodstruct_handle_atomic">uhu_LLSD_struct::struct_handle_atomic()</a></li>
				<li><span class="field">uses:</span> uhu_LLSD_UUID()</li>
			</ul>
	
	<div class="method-signature">
	    static
		<span class="method-result">void</span>
		<span class="method-name">
			struct_build_uuid
		</span>
					(<span class="var-type">mixed</span>&nbsp;<span class="var-name">&$element</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$uuid</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">mixed</span>
				<span class="var-name">&$element</span><span class="var-description">: Either uhu_LLSD_struct::$struct or a sub-element of uhu_LLSD_struct::$struct</span>			</li>
					<li>
				<span class="var-type">SimpleXMLElement</span>
				<span class="var-name">$uuid</span><span class="var-description">: The LLSD node to convert to an instance of uhu_LLSD_UUID</span>			</li>
				</ul>
		
			
	</div>
<a name="methodstruct_handle_atomic" id="struct_handle_atomic"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">static method struct_handle_atomic</span> (line <span class="line-number">252</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Converts an LLSD node into an appropriate native PHP type</p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
				<li><span class="field">uses:</span> <a href="../LLSD/uhu_LLSD_struct.html#methodstruct_build_uri">uhu_LLSD_struct::struct_build_uri()</a></li>
				<li><span class="field">uses:</span> <a href="../LLSD/uhu_LLSD_struct.html#methodstruct_build_uuid">uhu_LLSD_struct::struct_build_uuid()</a></li>
				<li><span class="field">uses:</span> <a href="../LLSD/uhu_LLSD_struct.html#methodstruct_build_undef">uhu_LLSD_struct::struct_build_undef()</a></li>
				<li><span class="field">uses:</span> <a href="../LLSD/uhu_LLSD_struct.html#methodstruct_build_string">uhu_LLSD_struct::struct_build_string()</a></li>
				<li><span class="field">uses:</span> <a href="../LLSD/uhu_LLSD_struct.html#methodstruct_build_bool">uhu_LLSD_struct::struct_build_bool()</a></li>
				<li><span class="field">uses:</span> <a href="../LLSD/uhu_LLSD_struct.html#methodstruct_build_date">uhu_LLSD_struct::struct_build_date()</a></li>
				<li><span class="field">uses:</span> <a href="../LLSD/uhu_LLSD_struct.html#methodstruct_build_integer">uhu_LLSD_struct::struct_build_integer()</a></li>
				<li><span class="field">uses:</span> <a href="../LLSD/uhu_LLSD_struct.html#methodstruct_build_real">uhu_LLSD_struct::struct_build_real()</a></li>
				<li><span class="field">uses:</span> <a href="../LLSD/uhu_LLSD_struct.html#methodstruct_build_binary">uhu_LLSD_struct::struct_build_binary()</a></li>
			</ul>
	
	<div class="method-signature">
	    static
		<span class="method-result">void</span>
		<span class="method-name">
			struct_handle_atomic
		</span>
					(<span class="var-type">mixed</span>&nbsp;<span class="var-name">&$element</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$child</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">mixed</span>
				<span class="var-name">&$element</span><span class="var-description">: Either uhu_LLSD_struct::$struct or a sub-element of uhu_LLSD_struct::$struct</span>			</li>
					<li>
				<span class="var-type">SimpleXMLElement</span>
				<span class="var-name">$child</span><span class="var-description">: The LLSD node to convert to a antive PHP data type</span>			</li>
				</ul>
		
			
	</div>
<a name="methodstruct_validate_map_contents" id="struct_validate_map_contents"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">static method struct_validate_map_contents</span> (line <span class="line-number">203</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Ensures that the LLSD node supplied is a map element</p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
				<li><span class="field">usedby:</span> <a href="../LLSD/uhu_LLSD_struct.html#methodstruct_build_map">uhu_LLSD_struct::struct_build_map()</a></li>
				<li><span class="field">uses:</span> <a href="../UHU_exception/LLSD/uhu_LLSD_exception.html">uhu_LLSD_exception</a></li>
				<li><span class="field">uses:</span> SimpleXMLElement::getName()</li>
				<li><span class="field">uses:</span> SimpleXMLElement::children()</li>
			</ul>
	
	<div class="method-signature">
	    static
		<span class="method-result">void</span>
		<span class="method-name">
			struct_validate_map_contents
		</span>
					(<span class="var-type"></span>&nbsp;<span class="var-name">$map_element</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">SimpleXMLElement</span>
				<span class="var-name">$map_element</span><span class="var-description">: The LLSD node to validate</span>			</li>
				</ul>
		
			
	</div>

<a name="method__construct" id="__construct"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">Constructor __construct</span> (line <span class="line-number">32</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Builds an isntance of uhu_LLSD_struct.</p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
				<li><span class="field">uses:</span> uhu_LLSD_struct::struct_build_map)</li>
				<li><span class="field">uses:</span> uhu_LLSD_struct::struct_build_atomic()</li>
				<li><span class="field">uses:</span> <a href="../LLSD/uhu_LLSD_struct.html#methodstruct_build_array">uhu_LLSD_struct::struct_build_array()</a></li>
				<li><span class="field">uses:</span> SimpleXMLElement::getName()</li>
				<li><span class="field">uses:</span> <a href="../UHU_exception/LLSD/uhu_LLSD_exception.html">uhu_LLSD_exception</a></li>
				<li><span class="field">uses:</span> SimpleXMLElement::children()</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">uhu_LLSD_struct</span>
		<span class="method-name">
			__construct
		</span>
					(<span class="var-type"></span>&nbsp;<span class="var-name">$element</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">SimpleXMLElement</span>
				<span class="var-name">$element</span><span class="var-description">: The LLSD document to convert to a native PHP data type</span>			</li>
				</ul>
		
			
	</div>
<a name="methodcurrent" id="current"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">current</span> (line <span class="line-number">61</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Part of the Iterator interface</p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">mixed</span>
		<span class="method-name">
			current
		</span>
				()
			</div>
	
		
				<hr class="separator" />
		<div class="notes">Implementation of:</div>
			<dl>
			<dt>Iterator::current</dt>
					</dl>
			
	</div>
<a name="methodkey" id="key"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">key</span> (line <span class="line-number">69</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Part of the Iterator interface</p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">mixed</span>
		<span class="method-name">
			key
		</span>
				()
			</div>
	
		
				<hr class="separator" />
		<div class="notes">Implementation of:</div>
			<dl>
			<dt>Iterator::key</dt>
					</dl>
			
	</div>
<a name="methodLLSD" id="LLSD"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">LLSD</span> (line <span class="line-number">112</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Returns the transcoded LLSD document</p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
				<li><span class="field">uses:</span> <a href="../LLSD/uhu_LLSD_struct.html#var$LLSD">uhu_LLSD_struct::$LLSD</a></li>
				<li><span class="field">uses:</span> <a href="../LLSD/uhu_LLSD.html#methodsave">uhu_LLSD::save()</a></li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">string</span>
		<span class="method-name">
			LLSD
		</span>
					([<span class="var-type"></span>&nbsp;<span class="var-name">$indent</span> = <span class="var-default">null</span>])
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type"></span>
				<span class="var-name">$indent</span>			</li>
				</ul>
		
			
	</div>
<a name="methodnext" id="next"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">next</span> (line <span class="line-number">77</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Part of the Iterator interface</p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">mixed</span>
		<span class="method-name">
			next
		</span>
				()
			</div>
	
		
				<hr class="separator" />
		<div class="notes">Implementation of:</div>
			<dl>
			<dt>Iterator::next</dt>
					</dl>
			
	</div>
<a name="methodrewind" id="rewind"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">rewind</span> (line <span class="line-number">85</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Part of the Iterator interface</p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">bool</span>
		<span class="method-name">
			rewind
		</span>
				()
			</div>
	
		
				<hr class="separator" />
		<div class="notes">Implementation of:</div>
			<dl>
			<dt>Iterator::rewind</dt>
					</dl>
			
	</div>
<a name="methodstruct" id="struct"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">struct</span> (line <span class="line-number">102</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Returns the native PHP data type of the parsed LLSD document</p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
				<li><span class="field">uses:</span> <a href="../LLSD/uhu_LLSD_struct.html#var$struct">uhu_LLSD_struct::$struct</a></li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">mixed</span>
		<span class="method-name">
			struct
		</span>
				()
			</div>
	
		
			
	</div>
<a name="methodvalid" id="valid"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">valid</span> (line <span class="line-number">93</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Part of the Iterator interface</p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">bool</span>
		<span class="method-name">
			valid
		</span>
				()
			</div>
	
		
				<hr class="separator" />
		<div class="notes">Implementation of:</div>
			<dl>
			<dt>Iterator::valid</dt>
					</dl>
			
	</div>
						
		</div>
	</div>


	<p class="notes" id="credit">
		Documentation generated on Tue, 13 Jan 2009 23:22:17 +0000 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.1</a>
	</p>
	</div></body>
</html>